package com.briup.bookstore.service;

import com.briup.bookstore.common.model.entity.Book;
import com.briup.bookstore.common.model.param.PageParam;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface BookService {

    /**
     * 分页+条件查询图书信息
     * @param pageParam 分页参数
     * @param bookParam 查询条件参数
     * @return
     */
    PageInfo<Book> pageQueryByClause(PageParam pageParam, Book bookParam);

	/**
	 * 添加图书
	 * @param bookParam 图书添加的基础数据实体
	 */
	void add(Book bookParam);

    /**
     * 修改图书信息
     * @param bookParam
     */
    void update(Book bookParam);

	/**
	 * 根据id查询图书
	 * @param id 图书id
	 * @return 图书数据
	 */
	Book getById(Integer id);

    /**
     * 删除图书信息
     * 删除单条数据和删除多条数据均使用这一个方法
     * @param ids
     */
    void delete(List<Integer> ids);

    /**
     * 修改图书信息（修改上架、下架状态）
     * @param id
     * @param status
     */
    void update(Integer id, Integer status);
}
